The widespread popularity of asynchronous JavaScript and XML (“AJAX”) enabled web applications has spawned numerous techniques for enhancing the user experience, primarily through interactivity and performance gains inherent in the technology. The use of AJAX and map technology has been a highly utilized example of the technology. A user interface that is quick and allows dragging of the map allows developers to incorporate existing data (such as business listings, directions, etc) onto the AJAX platform with a substantial increase in user-friendliness and load times.
The inclusion of AJAX map widgets onto federated search result pages has added another layer of depth to existing federated result search pages, allowing users to see the search results on the map. The prior art techniques, however, lack the ability to use the map as a search device. In other words, a user must re-enter searches, causing a redraw of the map he or she is looking at. For example, a user may search for restaurants in New York City and be presented with a plurality of matches shown on a map resource. If the user wishes to search, for example, for restaurants in Brooklyn, the user must enter a search query such as “restaurants in Brooklyn, N.Y.” and re-execute a query. Upon re-execution of the query, the map is redrawn.
Other mapping systems known in the art allow for use of a map in constructing searches, but have significant drawbacks. Using such system, a user may conduct a search for pizza restaurants in a given geographic location, which generates an overlay on the map with an indication of the locations of the relevant businesses. When the user moves the map to view a subsequent geographic location, the user's interaction with the map must be suspended to select a control to reinitiate the search using the latitude and longitude of the subsequent geographic location. Furthermore, by relying solely on longitude and latitude in conducting a subsequent search at the subsequent geographic location, the subsequent search is limited to data sources that comprise longitude and latitude information, thereby excluding other, relevant data sources over which to conduct the subsequent search.
This re-execution breaks the flow of interaction with the map resource and introduces a noticeable lag in program execution time. Thus, there is a need in the art for a system and method for dynamically updating a plurality of search results on a map resource in response to user interaction with the map resource.